package com.ysd.lis.entity.eq;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ysd.lis.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.sql.Timestamp;
import java.util.List;

/**
 * <p>
 * 设备管理-设备类型
 * </p>
 *
 * @author prs
 * @since 2024-08-22
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("EQ_REPAIR_ORDER")
public class EqRepairOrder extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 计划id
     */
    @TableField("PLAN_ID")
    private String planId;

    /**
     * 计划单号
     */
    @TableField("PLAN_NO")
    private String planNo;

    /**
     * 报修id
     */
    @TableField("FAULT_ID")
    private String faultId;

    /**
     * 计划单号
     */
    @TableField("FAULT_NO")
    private String faultNo;

    /**
     * 维修单号
     */
    @TableField("REPAIR_NO")
    private String repairNo;

    /**
     * 设备id
     */
    @TableField("EQUIPT_ID")
    private String equiptId;

    /**
     * 设备编码
     */
    @TableField("EQUIPT_CODE")
    private String equiptCode;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
    @TableField(fill = FieldFill.UPDATE)
    private Timestamp faultDate;


    /**
     * 故障操作人
     */
    @TableField("FAULT_OPTOR")
    private String faultOptor;


    /**
     * 故障类型
     */
    @TableField("FAULT_TYPE")
    private String faultType;

    /**
     * 故障等级
     */
    @TableField("FAULT_GRADE")
    private String faultGrade;

    /**
     * 故障备注
     */
    @TableField("FAULT_REMARK")
    private String faultRemark;

    /**
     * 故障原因
     */
    @TableField("FAULT_REASON")
    private String faultReason;

    /**
     * 维修状态：维修状态：0待维修，5备件采购中，10停机待修，15维修中，20待验证，25已完成
     */
    @TableField("REPAIR_STATUS")
    private String repairStatus;

    @TableField(exist = false)
    private BigDecimal repairStatusCnt;

    /**
     * 维修类型
     */
    @TableField("REPAIR_TYPE")
    private String repairType;

    /**
     * 维修等级
     */
    @TableField("REPAIR_GRADE")
    private String repairGrade;

    /**
     * 紧急程度
     */
    @TableField("URGENCY")
    private String urgency;



    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
    @TableField(fill = FieldFill.UPDATE)
    private Timestamp startDate;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
    @TableField(fill = FieldFill.UPDATE)
    private Timestamp endDate;

    /**
     * 维修工时
     */
    @TableField("WORK_HOURS")
    private Integer workHours;


    /**
     * 维修费用
     */
    @TableField("REPAIR_FEE")
    private Integer repairFee;

    /**
     * 备注
     */
    @TableField("REMARK")
    private String remark;

    /**
     * 序号
     */
    @TableField("SEQ")
    private Integer seq;




    @TableField(exist = false)
    private String equiptName;
    @TableField(exist = false)
    private String specification;
    @TableField(exist = false)
    private String faultTypeName;
    @TableField(exist = false)
    private List<EqRepairPerson> repairPersonList;
    @TableField(exist = false)
    private List<EqRepairRecord> repairRecordList;

}
